#ifndef ACCOUNTMANAGERINSTANCE_H
#define	ACCOUNTMANAGERINSTANCE_H

#include "Account.h"
#include <list>

class AccountManagerInstance
{
public:
	AccountManagerInstance();
	~AccountManagerInstance();

	int GetReferenceCount() const;
	void IncreaseReference();
	void DecreaseReference();

	void AddAccount(const Account& account);
	const Account* GetAccount(const std::string& username) const;
protected:

private:
	std::list<Account> accounts;
	int reference;
};

#endif //ACCOUNTMANAGERINSTANCE_H
